home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Languages / MPW Oberon 2.1168 / OInterfaces / Windows.mod < prev    next >
Encoding:
Text File  |  1995-08-10  |  14.9 KB  |  473 lines  |  [TEXT/MPS ]

  1. (*
  2.      File:        Windows.mod
  3.  
  4.      Contains:    Window Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Package:    Universal Interfaces 2.0 in “MPW Latest” on ETO #17
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs.applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. *)
  19.  
  20. (*$IF UNDEFINED STRICT_WINDOWS*)
  21.   (*$SET STRICT_WINDOWS FALSE*)
  22. (*$END*)
  23. (*$TAGS-*)
  24. (*$CALLING PASCAL*)
  25. MODULE Windows;
  26.  
  27. IMPORT SYSTEM, Types, Quickdraw, Events, Controls;
  28.  
  29. (* $PUSH*)
  30. (* $ALIGN MAC68K*)
  31. (* $LibExport+*)
  32.  
  33. CONST
  34.     kStandardWindowDefinition*    = 0;                            (* for document windows and dialogs*)
  35.     kRoundWindowDefinition*        = 1;                            (* old da-style window*)
  36.     kFloatingWindowDefinition*    = 124;                            (* for floating windows*)
  37.  
  38. (*####################################################################################*)
  39. (**)
  40. (* Window Variant Codes*)
  41. (**)
  42. (*####################################################################################*)
  43. (* for use with kStandardWindowDefinition *)
  44.     kModalDialogVariantCode*        = 1;
  45.     kMovableModalDialogVariantCode* = 5;
  46. (* for use with kFloatingWindowDefinition *)
  47.     kSideFloaterVariantCode*        = 8;
  48.  
  49. (*####################################################################################*)
  50. (**)
  51. (* Old-style procIDs.  For use only with New(C)Window*)
  52. (**)
  53. (*####################################################################################*)
  54.     documentProc*                = 0;
  55.     dBoxProc*                    = 1;
  56.     plainDBox*                    = 2;
  57.     altDBoxProc*                    = 3;
  58.     noGrowDocProc*                = 4;
  59.     movableDBoxProc*                = 5;
  60.     zoomDocProc*                    = 8;
  61.     zoomNoGrow*                    = 12;
  62.     rDocProc*                    = 16;
  63. (* floating window defproc ids *)
  64.     floatProc*                    = 1985;
  65.     floatGrowProc*                = 1987;
  66.     floatZoomProc*                = 1989;
  67.     floatZoomGrowProc*            = 1991;
  68.     floatSideProc*                = 1993;
  69.     floatSideGrowProc*            = 1995;
  70.     floatSideZoomProc*            = 1997;
  71.     floatSideZoomGrowProc*        = 1999;
  72.  
  73. (*####################################################################################*)
  74. (**)
  75. (* Standard window kinds*)
  76. (**)
  77. (*####################################################################################*)
  78.     dialogKind*                    = 2;
  79.     userKind*                    = 8;
  80.     kDialogWindowKind*            = 2;
  81.     kApplicationWindowKind*        = 8;
  82.  
  83. (*####################################################################################*)
  84. (**)
  85. (* FindWindow result codes*)
  86. (**)
  87. (*####################################################################################*)
  88.     inDesk*                        = 0;
  89.     inMenuBar*                    = 1;
  90.     inSysWindow*                    = 2;
  91.     inContent*                    = 3;
  92.     inDrag*                        = 4;
  93.     inGrow*                        = 5;
  94.     inGoAway*                    = 6;
  95.     inZoomIn*                    = 7;
  96.     inZoomOut*                    = 8;
  97.  
  98.     wDraw*                        = 0;
  99.     wHit*                        = 1;
  100.     wCalcRgns*                    = 2;
  101.     wNew*                        = 3;
  102.     wDispose*                    = 4;
  103.     wGrow*                        = 5;
  104.     wDrawGIcon*                    = 6;
  105.  
  106.     deskPatID*                    = 16;
  107.  
  108. (*####################################################################################*)
  109. (**)
  110. (* Window Definition hit test result codes ("WindowPart")*)
  111. (**)
  112. (*####################################################################################*)
  113.     wNoHit*                        = 0;
  114.     wInContent*                    = 1;
  115.     wInDrag*                        = 2;
  116.     wInGrow*                        = 3;
  117.     wInGoAway*                    = 4;
  118.     wInZoomIn*                    = 5;
  119.     wInZoomOut*                    = 6;
  120.  
  121. TYPE
  122.     WindowDefProcPtr* = (*ΔΔ Types.ProcPtr*) PROCEDURE(varCode: INTEGER; theWindow: Quickdraw.WindowRef; message: INTEGER; param: LONGINT): LONGINT;
  123.     (*
  124.         DeskHookProcPtr uses register based parameters on the 68k and cannot
  125.         be written in or called from a high-level language without the help of
  126.         mixed mode or assembly glue.
  127.  
  128.         In:
  129.          => mouseClick      D0.B
  130.          => *theEvent       A0.L
  131.     *)
  132.     DeskHookProcPtr* = Types.Register68kProcPtr;  (* register PROCEDURE DeskHook*(mouseClick: BOOLEAN; VAR theEvent: Events.EventRecord); *)
  133.     WindowDefUPP* = Types.UniversalProcPtr;
  134.     DeskHookUPP* = Types.UniversalProcPtr;
  135.  
  136. CONST
  137.     uppWindowDefProcInfo* = $00003BB0; (* PROCEDURE (2 byte param, 4 byte param, 2 byte param, 4 byte param): 4 byte result; *)
  138.     uppDeskHookProcInfo* = $00130802; (* Register PROCEDURE (1 byte in D0, 4 bytes in A0); *)
  139.  
  140. PROCEDURE NewWindowDefProc*(userRoutine: WindowDefProcPtr): WindowDefUPP;
  141.     (*$IF NOT GENERATINGCFM *)
  142.     INLINE PASCAL $2E9F;
  143.     (*$END*)
  144.  
  145. PROCEDURE NewDeskHookProc*(userRoutine: DeskHookProcPtr): DeskHookUPP;
  146.     (*$IF NOT GENERATINGCFM *)
  147.     INLINE PASCAL $2E9F;
  148.     (*$END*)
  149.  
  150. PROCEDURE CallWindowDefProc*(varCode: INTEGER; theWindow: Quickdraw.WindowRef; message: INTEGER; param: LONGINT; userRoutine: WindowDefUPP): LONGINT;
  151.     (*$IF NOT GENERATINGCFM*)
  152.     INLINE PASCAL $205F, $4E90;
  153.     (*$END*)
  154.  
  155. PROCEDURE CallDeskHookProc*(mouseClick: BOOLEAN; VAR theEvent: Events.EventRecord; userRoutine: DeskHookUPP);
  156.     (*$IF NOT GENERATINGCFM*)
  157.     INLINE PASCAL ; (*••*)
  158.     (*To be implemented:  Glue to move parameters into registers.*)
  159.     (*$END*)
  160. PROCEDURE GetGrayRgn*(): Quickdraw.RgnHandle;
  161.     (*$IF NOT CFMSYSTEMCALLS*)
  162.     INLINE PASCAL $2EB8, $09EE;            (* MOVE.l $09EE,(SP) *)
  163.     (*$END*)
  164.  
  165.  
  166. TYPE
  167.     WinCTab* = RECORD
  168.         wCSeed*:                    LONGINT;                                (*reserved*)
  169.         wCReserved*:                INTEGER;                                (*reserved*)
  170.         ctSize*:                    INTEGER;                                (*usually 4 for windows*)
  171.         ctTable*:                ARRAY 5 (*ΔΔ[0..4]ΔΔ*) OF Quickdraw.ColorSpec;
  172.     END;
  173.  
  174.     WCTabPtr* = POINTER TO WinCTab;
  175.     WCTabHandle* = HANDLE TO WinCTab (*ΔΔ POINTER TO WCTabPtr*);
  176.  
  177.  
  178. PROCEDURE InitWindows*;
  179.     (*$IF NOT GENERATINGCFM*)
  180.     INLINE PASCAL $A912;
  181.     (*$END*)
  182. PROCEDURE GetWMgrPort*(VAR wPort: Quickdraw.GrafPtr);
  183.     (*$IF NOT GENERATINGCFM*)
  184.     INLINE PASCAL $A910;
  185.     (*$END*)
  186. PROCEDURE NewWindow*(wStorage: (*ΔΔUNIVΔΔ*) Types.Ptr; (*CONST*)VAR boundsRect: Types.Rect; title: Types.ConstStr255Param; visible: BOOLEAN; theProc: INTEGER; behind: Quickdraw.WindowRef; goAwayFlag: BOOLEAN; refCon: LONGINT): Quickdraw.WindowRef;
  187.     (*$IF NOT GENERATINGCFM*)
  188.     INLINE PASCAL $A913;
  189.     (*$END*)
  190. PROCEDURE GetNewWindow*(windowID: INTEGER; wStorage: (*ΔΔUNIVΔΔ*) Types.Ptr; behind: Quickdraw.WindowRef): Quickdraw.WindowRef;
  191.     (*$IF NOT GENERATINGCFM*)
  192.     INLINE PASCAL $A9BD;
  193.     (*$END*)
  194. PROCEDURE CloseWindow*(theWindow: Quickdraw.WindowRef);
  195.     (*$IF NOT GENERATINGCFM*)
  196.     INLINE PASCAL $A92D;
  197.     (*$END*)
  198. PROCEDURE DisposeWindow*(theWindow: Quickdraw.WindowRef);
  199.     (*$IF NOT GENERATINGCFM*)
  200.     INLINE PASCAL $A914;
  201.     (*$END*)
  202. PROCEDURE GetWTitle*(theWindow: Quickdraw.WindowRef; VAR title: Types.Str255);
  203.     (*$IF NOT GENERATINGCFM*)
  204.     INLINE PASCAL $A919;
  205.     (*$END*)
  206. PROCEDURE SelectWindow*(theWindow: Quickdraw.WindowRef);
  207.     (*$IF NOT GENERATINGCFM*)
  208.     INLINE PASCAL $A91F;
  209.     (*$END*)
  210. PROCEDURE HideWindow*(theWindow: Quickdraw.WindowRef);
  211.     (*$IF NOT GENERATINGCFM*)
  212.     INLINE PASCAL $A916;
  213.     (*$END*)
  214. PROCEDURE ShowWindow*(theWindow: Quickdraw.WindowRef);
  215.     (*$IF NOT GENERATINGCFM*)
  216.     INLINE PASCAL $A915;
  217.     (*$END*)
  218. PROCEDURE ShowHide*(theWindow: Quickdraw.WindowRef; showFlag: BOOLEAN);
  219.     (*$IF NOT GENERATINGCFM*)
  220.     INLINE PASCAL $A908;
  221.     (*$END*)
  222. PROCEDURE HiliteWindow*(theWindow: Quickdraw.WindowRef; fHilite: BOOLEAN);
  223.     (*$IF NOT GENERATINGCFM*)
  224.     INLINE PASCAL $A91C;
  225.     (*$END*)
  226. PROCEDURE BringToFront*(theWindow: Quickdraw.WindowRef);
  227.     (*$IF NOT GENERATINGCFM*)
  228.     INLINE PASCAL $A920;
  229.     (*$END*)
  230. PROCEDURE SendBehind*(theWindow: Quickdraw.WindowRef; behindWindow: Quickdraw.WindowRef);
  231.     (*$IF NOT GENERATINGCFM*)
  232.     INLINE PASCAL $A921;
  233.     (*$END*)
  234. PROCEDURE FrontWindow*(): Quickdraw.WindowRef;
  235.     (*$IF NOT GENERATINGCFM*)
  236.     INLINE PASCAL $A924;
  237.     (*$END*)
  238. PROCEDURE DrawGrowIcon*(theWindow: Quickdraw.WindowRef);
  239.     (*$IF NOT GENERATINGCFM*)
  240.     INLINE PASCAL $A904;
  241.     (*$END*)
  242. PROCEDURE MoveWindow*(theWindow: Quickdraw.WindowRef; hGlobal: INTEGER; vGlobal: INTEGER; front: BOOLEAN);
  243.     (*$IF NOT GENERATINGCFM*)
  244.     INLINE PASCAL $A91B;
  245.     (*$END*)
  246. PROCEDURE SizeWindow*(theWindow: Quickdraw.WindowRef; w: INTEGER; h: INTEGER; fUpdate: BOOLEAN);
  247.     (*$IF NOT GENERATINGCFM*)
  248.     INLINE PASCAL $A91D;
  249.     (*$END*)
  250. PROCEDURE ZoomWindow*(theWindow: Quickdraw.WindowRef; partCode: INTEGER; front: BOOLEAN);
  251.     (*$IF NOT GENERATINGCFM*)
  252.     INLINE PASCAL $A83A;
  253.     (*$END*)
  254. PROCEDURE InvalRect*((*CONST*)VAR badRect: Types.Rect);
  255.     (*$IF NOT GENERATINGCFM*)
  256.     INLINE PASCAL $A928;
  257.     (*$END*)
  258. PROCEDURE InvalRgn*(badRgn: Quickdraw.RgnHandle);
  259.     (*$IF NOT GENERATINGCFM*)
  260.     INLINE PASCAL $A927;
  261.     (*$END*)
  262. PROCEDURE ValidRect*((*CONST*)VAR goodRect: Types.Rect);
  263.     (*$IF NOT GENERATINGCFM*)
  264.     INLINE PASCAL $A92A;
  265.     (*$END*)
  266. PROCEDURE ValidRgn*(goodRgn: Quickdraw.RgnHandle);
  267.     (*$IF NOT GENERATINGCFM*)
  268.     INLINE PASCAL $A929;
  269.     (*$END*)
  270. PROCEDURE BeginUpdate*(theWindow: Quickdraw.WindowRef);
  271.     (*$IF NOT GENERATINGCFM*)
  272.     INLINE PASCAL $A922;
  273.     (*$END*)
  274. PROCEDURE EndUpdate*(theWindow: Quickdraw.WindowRef);
  275.     (*$IF NOT GENERATINGCFM*)
  276.     INLINE PASCAL $A923;
  277.     (*$END*)
  278. PROCEDURE SetWRefCon*(theWindow: Quickdraw.WindowRef; data: LONGINT);
  279.     (*$IF NOT GENERATINGCFM*)
  280.     INLINE PASCAL $A918;
  281.     (*$END*)
  282. PROCEDURE GetWRefCon*(theWindow: Quickdraw.WindowRef): LONGINT;
  283.     (*$IF NOT GENERATINGCFM*)
  284.     INLINE PASCAL $A917;
  285.     (*$END*)
  286. PROCEDURE SetWindowPic*(theWindow: Quickdraw.WindowRef; pic: Quickdraw.PicHandle);
  287.     (*$IF NOT GENERATINGCFM*)
  288.     INLINE PASCAL $A92E;
  289.     (*$END*)
  290. PROCEDURE GetWindowPic*(theWindow: Quickdraw.WindowRef): Quickdraw.PicHandle;
  291.     (*$IF NOT GENERATINGCFM*)
  292.     INLINE PASCAL $A92F;
  293.     (*$END*)
  294. PROCEDURE CheckUpdate*(VAR theEvent: Events.EventRecord): BOOLEAN;
  295.     (*$IF NOT GENERATINGCFM*)
  296.     INLINE PASCAL $A911;
  297.     (*$END*)
  298. PROCEDURE ClipAbove*(window: Quickdraw.WindowRef);
  299.     (*$IF NOT GENERATINGCFM*)
  300.     INLINE PASCAL $A90B;
  301.     (*$END*)
  302. PROCEDURE SaveOld*(window: Quickdraw.WindowRef);
  303.     (*$IF NOT GENERATINGCFM*)
  304.     INLINE PASCAL $A90E;
  305.     (*$END*)
  306. PROCEDURE DrawNew*(window: Quickdraw.WindowRef; update: BOOLEAN);
  307.     (*$IF NOT GENERATINGCFM*)
  308.     INLINE PASCAL $A90F;
  309.     (*$END*)
  310. PROCEDURE PaintOne*(window: Quickdraw.WindowRef; clobberedRgn: Quickdraw.RgnHandle);
  311.     (*$IF NOT GENERATINGCFM*)
  312.     INLINE PASCAL $A90C;
  313.     (*$END*)
  314. PROCEDURE PaintBehind*(startWindow: Quickdraw.WindowRef; clobberedRgn: Quickdraw.RgnHandle);
  315.     (*$IF NOT GENERATINGCFM*)
  316.     INLINE PASCAL $A90D;
  317.     (*$END*)
  318. PROCEDURE CalcVis*(window: Quickdraw.WindowRef);
  319.     (*$IF NOT GENERATINGCFM*)
  320.     INLINE PASCAL $A909;
  321.     (*$END*)
  322. PROCEDURE CalcVisBehind*(startWindow: Quickdraw.WindowRef; clobberedRgn: Quickdraw.RgnHandle);
  323.     (*$IF NOT GENERATINGCFM*)
  324.     INLINE PASCAL $A90A;
  325.     (*$END*)
  326. PROCEDURE GrowWindow*(theWindow: Quickdraw.WindowRef; startPt: Types.Point; (*CONST*)VAR bBox: Types.Rect): LONGINT;
  327.     (*$IF NOT GENERATINGCFM*)
  328.     INLINE PASCAL $A92B;
  329.     (*$END*)
  330. PROCEDURE FindWindow*(thePoint: Types.Point; VAR theWindow: Quickdraw.WindowRef): INTEGER;
  331.     (*$IF NOT GENERATINGCFM*)
  332.     INLINE PASCAL $A92C;
  333.     (*$END*)
  334. PROCEDURE PinRect*((*CONST*)VAR theRect: Types.Rect; thePt: Types.Point): LONGINT;
  335.     (*$IF NOT GENERATINGCFM*)
  336.     INLINE PASCAL $A94E;
  337.     (*$END*)
  338. PROCEDURE DragGrayRgn*(theRgn: Quickdraw.RgnHandle; startPt: Types.Point; (*CONST*)VAR limitRect: Types.Rect; (*CONST*)VAR slopRect: Types.Rect; axis: INTEGER; actionProc: Quickdraw.DragGrayRgnUPP): LONGINT;
  339.     (*$IF NOT GENERATINGCFM*)
  340.     INLINE PASCAL $A905;
  341.     (*$END*)
  342. PROCEDURE DragTheRgn*(theRgn: Quickdraw.RgnHandle; startPt: Types.Point; (*CONST*)VAR limitRect: Types.Rect; (*CONST*)VAR slopRect: Types.Rect; axis: INTEGER; actionProc: Quickdraw.DragGrayRgnUPP): LONGINT;
  343.     (*$IF NOT GENERATINGCFM*)
  344.     INLINE PASCAL $A926;
  345.     (*$END*)
  346. PROCEDURE TrackBox*(theWindow: Quickdraw.WindowRef; thePt: Types.Point; partCode: INTEGER): BOOLEAN;
  347.     (*$IF NOT GENERATINGCFM*)
  348.     INLINE PASCAL $A83B;
  349.     (*$END*)
  350. PROCEDURE GetCWMgrPort*(VAR wMgrCPort: Quickdraw.CGrafPtr);
  351.     (*$IF NOT GENERATINGCFM*)
  352.     INLINE PASCAL $AA48;
  353.     (*$END*)
  354. PROCEDURE SetWinColor*(theWindow: Quickdraw.WindowRef; newColorTable: WCTabHandle);
  355.     (*$IF NOT GENERATINGCFM*)
  356.     INLINE PASCAL $AA41;
  357.     (*$END*)
  358. PROCEDURE SetDeskCPat*(deskPixPat: Quickdraw.PixPatHandle);
  359.     (*$IF NOT GENERATINGCFM*)
  360.     INLINE PASCAL $AA47;
  361.     (*$END*)
  362. PROCEDURE NewCWindow*(wStorage: (*ΔΔUNIVΔΔ*) Types.Ptr; (*CONST*)VAR boundsRect: Types.Rect; title: Types.ConstStr255Param; visible: BOOLEAN; procID: INTEGER; behind: Quickdraw.WindowRef; goAwayFlag: BOOLEAN; refCon: LONGINT): Quickdraw.WindowRef;
  363.     (*$IF NOT GENERATINGCFM*)
  364.     INLINE PASCAL $AA45;
  365.     (*$END*)
  366. PROCEDURE GetNewCWindow*(windowID: INTEGER; wStorage: (*ΔΔUNIVΔΔ*) Types.Ptr; behind: Quickdraw.WindowRef): Quickdraw.WindowRef;
  367.     (*$IF NOT GENERATINGCFM*)
  368.     INLINE PASCAL $AA46;
  369.     (*$END*)
  370. PROCEDURE GetWVariant*(theWindow: Quickdraw.WindowRef): INTEGER;
  371.     (*$IF NOT GENERATINGCFM*)
  372.     INLINE PASCAL $A80A;
  373.     (*$END*)
  374. PROCEDURE SetWTitle*(theWindow: Quickdraw.WindowRef; title: Types.ConstStr255Param);
  375.     (*$IF NOT GENERATINGCFM*)
  376.     INLINE PASCAL $A91A;
  377.     (*$END*)
  378. PROCEDURE TrackGoAway*(theWindow: Quickdraw.WindowRef; thePt: Types.Point): BOOLEAN;
  379.     (*$IF NOT GENERATINGCFM*)
  380.     INLINE PASCAL $A91E;
  381.     (*$END*)
  382. PROCEDURE DragWindow*(theWindow: Quickdraw.WindowRef; startPt: Types.Point; (*CONST*)VAR boundsRect: Types.Rect);
  383.     (*$IF NOT GENERATINGCFM*)
  384.     INLINE PASCAL $A925;
  385.     (*$END*)
  386. (*$IF NOT STRICT_WINDOWS *)
  387.     
  388. TYPE
  389.     WindowPeek* = POINTER TO WindowRecord;
  390.  
  391.     WindowRecord* = RECORD
  392.         port*:                    Quickdraw.GrafPort;
  393.         windowKind*:                INTEGER;
  394.         visible*:                BOOLEAN;
  395.         hilited*:                BOOLEAN;
  396.         goAwayFlag*:                BOOLEAN;
  397.         spareFlag*:                BOOLEAN;
  398.         strucRgn*:                Quickdraw.RgnHandle;
  399.         contRgn*:                Quickdraw.RgnHandle;
  400.         updateRgn*:                Quickdraw.RgnHandle;
  401.         windowDefProc*:            Types.Handle;
  402.         dataHandle*:                Types.Handle;
  403.         titleHandle*:            Types.StringHandle;
  404.         titleWidth*:                INTEGER;
  405.         controlList*:            Controls.ControlRef;
  406.         nextWindow*:                WindowPeek;
  407.         windowPic*:                Quickdraw.PicHandle;
  408.         refCon*:                    LONGINT;
  409.     END;
  410.  
  411.     CWindowPeek* = POINTER TO CWindowRecord;
  412.  
  413.     CWindowRecord* = RECORD
  414.         port*:                    Quickdraw.CGrafPort;
  415.         windowKind*:                INTEGER;
  416.         visible*:                BOOLEAN;
  417.         hilited*:                BOOLEAN;
  418.         goAwayFlag*:                BOOLEAN;
  419.         spareFlag*:                BOOLEAN;
  420.         strucRgn*:                Quickdraw.RgnHandle;
  421.         contRgn*:                Quickdraw.RgnHandle;
  422.         updateRgn*:                Quickdraw.RgnHandle;
  423.         windowDefProc*:            Types.Handle;
  424.         dataHandle*:                Types.Handle;
  425.         titleHandle*:            Types.StringHandle;
  426.         titleWidth*:                INTEGER;
  427.         controlList*:            Controls.ControlRef;
  428.         nextWindow*:                CWindowPeek;
  429.         windowPic*:                Quickdraw.PicHandle;
  430.         refCon*:                    LONGINT;
  431.     END;
  432.  
  433.     WStateData* = RECORD
  434.         userState*:                Types.Rect;                                    (*user state*)
  435.         stdState*:                Types.Rect;                                    (*standard state*)
  436.     END;
  437.  
  438.     WStateDataPtr* = POINTER TO WStateData;
  439.     WStateDataHandle* = HANDLE TO WStateData (*ΔΔ POINTER TO WStateDataPtr*);
  440.  
  441.     AuxWinPtr* = POINTER TO AuxWinRec;
  442.     AuxWinHandle* = HANDLE TO AuxWinRec (*ΔΔ POINTER TO AuxWinPtr*);
  443.  
  444.     AuxWinRec* = RECORD
  445.         awNext*:                    AuxWinHandle;                            (*handle to next AuxWinRec*)
  446.         awOwner*:                Quickdraw.WindowRef;                                (*ptr to window *)
  447.         awCTable*:                Quickdraw.CTabHandle;                                (*color table for this window*)
  448.         reserved*:                Types.UInt32;                                    (*  *)
  449.         awFlags*:                LONGINT;                                (*reserved for expansion*)
  450.         awReserved*:                Quickdraw.CTabHandle;                                (*reserved for expansion*)
  451.         awRefCon*:                LONGINT;                                (*user Constant*)
  452.     END;
  453.  
  454.  
  455. PROCEDURE GetAuxWin*(theWindow: Quickdraw.WindowRef; VAR awHndl: AuxWinHandle): BOOLEAN;
  456.     (*$IF NOT GENERATINGCFM*)
  457.     INLINE PASCAL $AA42;
  458.     (*$END*)
  459.  
  460. CONST
  461.     wContentColor*                = 0;
  462.     wFrameColor*                    = 1;
  463.     wTextColor*                    = 2;
  464.     wHiliteColor*                = 3;
  465.     wTitleBarColor*                = 4;
  466.  
  467. (*$END*)
  468.  
  469. (* $ALIGN RESET*)
  470. (* $POP*)
  471.  
  472.  END Windows.
  473.